Next: Init File, Up: Starting Up [Contents][Index]
When Emacs is started up, it performs the following operations
(see normal-top-level in
startup.el):
load-path, by
running the file named subdirs.el in each
directory in the list. Normally, this file adds the
directory’s subdirectories to the list, and those are
scanned in their turn. The files subdirs.el are
normally generated automatically when Emacs is installed.load-path directories. This file is intended for
registering input methods. The search is only for any personal
leim-list.el files that you may have created; it
skips the directories containing the standard Emacs libraries
(these should contain only a single leim-list.el
file, which is compiled into the Emacs executable).before-init-time to the value of
current-time (see Time of Day). It also sets
after-init-time to nil, which signals
to Lisp programs that Emacs is being initialized.LANG.initial-window-system specifies
(see initial-window-system).
The initialization function for each supported window system is
specified by window-system-initialization-alist.
If the value of initial-window-system is
windowsystem, then the appropriate initialization
function is defined in the file
term/windowsystem-win.el. This file
should have been compiled into the Emacs executable when it was
built.before-init-hook.custom-reevaluate-setting to
re-initialize the members of the list
custom-delayed-init-variables. These are any
pre-loaded user options whose default value depends on the
run-time, rather than build-time, context. See custom-initialize-delay.inhibit-default-init is
non-nil, nor if the options
‘-q’, ‘-Q’,
or ‘--batch’ were specified. abbrev-file-name, if that file exists and can be
read (see abbrev-file-name). This is
not done if the option ‘--batch’ was
specified.package-initialize to
activate any optional Emacs Lisp package that has been
installed. See Packaging Basics.
However, Emacs doesn’t initialize packages when
package-enable-at-startup is nil or
when it’s started with one of the options
‘-q’, ‘-Q’,
or ‘--batch’. To initialize packages
in the latter case, package-initialize should be
called explicitly (e.g., via the
‘--funcall’ option).after-init-time to the value of
current-time. This variable was set to
nil earlier; setting it to the current time
signals that the initialization phase is over, and, together
with before-init-time, provides the measurement of
how long it took.after-init-hook.initial-major-mode.tty-setup-hook. This is not done
in --batch mode, nor if
term-file-prefix is nil.inhibit-startup-echo-area-message.--batch was
specified.(substitute-command-keys
initial-scratch-message) into that buffer.initial-buffer-choice is a string, it
visits the file (or directory) with that name. If it is a
function, it calls the function with no arguments and selects
the buffer that it returns. If one file is given as a command
line argument, that file is visited and its buffer displayed
alongside initial-buffer-choice. If more than one
file is given, all of the files are visited and the
*Buffer List* buffer is displayed alongside
initial-buffer-choice.emacs-startup-hook.frame-notice-user-settings, which
modifies the parameters of the selected frame according to
whatever the init files specify.window-setup-hook. The only difference
between this hook and emacs-startup-hook is that
this one runs after the previously mentioned modifications to
the frame parameters.inhibit-startup-screen or
initial-buffer-choice are non-nil, or
if the ‘--no-splash’ or
‘-Q’ command-line options were
specified.--daemon was specified, it calls
server-start, and on Posix systems also detaches
from the controlling terminal. See
Emacs Server in The GNU Emacs Manual.emacs-session-restore passing it as argument the
ID of the previous session. See Session
Management.The following options affect some aspects of the startup sequence.
This variable, if non-nil, inhibits the
startup screen. In that case, Emacs typically displays the
*scratch* buffer; but see
initial-buffer-choice, below.
Do not set this variable in the init file of a new user, or in a way that affects more than one user, as that would prevent new users from receiving information about copyleft and basic Emacs usage.
inhibit-startup-message and
inhibit-splash-screen are aliases for this
variable.
If non-nil, this variable is a string that
specifies a file or directory for Emacs to display after
starting up, instead of the startup screen. If its value is a
function, Emacs calls that function which must return a
buffer which is then displayed. If its value is
t, Emacs displays the *scratch*
buffer.
This variable controls the display of the startup echo area message. You can suppress the startup echo area message by adding text with this form to your init file:
(setq inhibit-startup-echo-area-message
"your-login-name")
Emacs explicitly checks for an expression as shown above
in your init file; your login name must appear in the
expression as a Lisp string constant. You can also use the
Customize interface. Other methods of setting
inhibit-startup-echo-area-message to the same
value do not inhibit the startup message. This way, you can
easily inhibit the message for yourself if you wish, but
thoughtless copying of your init file will not inhibit the
message for someone else.
This variable, if non-nil, should be a
string, which is treated as documentation to be inserted into
the *scratch* buffer when Emacs starts up. If it
is nil, the *scratch* buffer is
empty.
The following command-line options affect some aspects of the startup sequence. See Initial Options in The GNU Emacs Manual.
--no-splashDo not display a splash screen.
--batchRun without an interactive terminal. See Batch Mode.
--daemonDo not initialize any display; just start a server in the background.
--no-init-file-qDo not load either the init file, or the default library.
--no-site-fileDo not load the site-start library.
--quick-QEquivalent to ‘-q --no-site-file --no-splash’.
Next: Init File, Up: Starting Up [Contents][Index]